Personal video channels

ABSTRACT

Systems and methods provide personal channels from a network-capable user terminal. A first user terminal may receive a request from a second user terminal for access to a personal channel created by a user and stored on the first user terminal in association with media content. In response to the request, the first user terminal may access the media content associated with the requested personal channel and provide the media content to the first user terminal over the network. A data center accessible by both the first and second user terminals may facilitate the access to the personal channel by storing information associated with the personal channel, including terminal identifiers and metadata, and providing a searchable catalog interface to identify personal channels to view.

BACKGROUND INFORMATION

Consumers and businesses receive media content from a variety ofsources. Using a basic television, viewers can watch traditionalbroadcast media received via an antenna. Amongst many limitations, thereare very few ways for viewers to personalize the content using thesetraditional broadcasts and television sets.

Cable and satellite television services solve some of the problemsassociated with broadcast television. Cable television providers receivea wide selection of content from a variety of programming sources andtransmit the content directly to subscribers'homes. In the home, a“set-top box” may receive a video signal and display the associatedcontent on a television. In some cases, the set-top box permits theselective reception of “pay-per-view” content. The typical cable set-topbox, however, also offers subscribers limited personalization of contentbecause it relies on one-way broadcast transmissions over coaxial(including possibly optical fiber) cables to transport content.

Digital video recorders enable greater personalization of televisioncontent. Using a menu or program guide displayed on a television by thedigital video recorder, viewers may select broadcast programs to berecorded, input and store viewing preferences and/or define parentalcontrols. However, digital video recorders rely on existing broadcastvideo signals for delivery of content, and usually use low bandwidthphone lines to communicate with program guide providers, which are usedsimply to select particular broadcast “channels” from which the digitalvideo recorder will record. Thus digital video recorders still allowonly limited personalization.

The growth of the Internet offers individuals access to a wide varietyof media content. For instance, Internet music services allow users tocreate personal music libraries. In particular, users may locate musiccontent stored on the computing facilities of the service and,on-demand, download the content to their local computing device. Otherfacilities, such as “peer-to-peer” file sharing services, allow users tolocate music content stored at remote “peer” computing systems over thenetwork and download such music content to their local computingdevices. This can be accomplished using a peer-to-peer sharingapplication executing on a user's computing terminal, which transmits alist of available files to a central server that maintains a centrallibrary of music files available in the network of terminals. Byaccessing the central server, a second user may search the centrallibrary and select a music file to download. In response, the centralserver provides the second user with information required to establish aconnection with the first network terminal. Based on this information,the second terminal establishes a peer-to-peer connection with the firstterminal which, in turn, transmits the music file to the secondterminal. By this method, a user's ability to personalize media contentis enhanced.

With regard to visual media content, interactive video communicationservices are known to allow users to communicate using real-time videoand audio. However, these services are limited because they typicallyrequire that each user accept an invitation to establish contact andparticipate in the communication. Furthermore, the quality of suchcommunications have heretofore been restricted due to the bandwidth andtransport constraints of communications networks.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a block diagram of an exemplary system environmentconsistent with certain aspects related to the present invention;

FIG. 2 illustrates a block diagram of an exemplary user terminalconsistent with certain aspects of the present invention;

FIG. 3 illustrates a block diagram of exemplary personal channel datastored at a network terminal consistent with certain aspects of thepresent invention;

FIG. 4 illustrates a block diagram of an exemplary data centerconsistent with certain aspects of the present invention;

FIG. 5A illustrates a block diagram of an exemplary personal channeldatabase consistent with certain aspects of the present invention;

FIG. 5B illustrates a block diagram of an exemplary feedback databaseconsistent with certain aspects of the present invention;

FIG. 6A illustrates an exemplary catalog provided by a data centerconsistent with certain aspects of data related to the presentinvention;

FIG. 6B illustrates an exemplary interactive programming guideconsistent with certain aspects of data related to the presentinvention;

FIG. 7 illustrates a flowchart exemplifying a first aspect related tothe present invention; and

FIG. 8 illustrates a flowchart exemplifying a second aspect related tothe present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following description refers to the accompanying drawings in whichthe same numbers in different drawings represent similar elements unlessotherwise represented. The implementations set forth in the followingdescription do not represent all implementations consistent with theclaimed invention. Instead, they are merely examples of preferredsystems and methods consistent with certain aspects related to theinvention.

The preferred methods and systems consistent with certain aspects of thepresent invention provide a “personal channel” service allowingnetwork-enabled user terminals (e.g., television set-top boxes orcomputing devices) to share media content over a network. In thepreferred embodiments, a first user at a first user terminal creates a“personal channel” associated with one or more media content items. Inconjunction with the creation of the personal channel, the user inputsmetadata describing the media content of the personal channel. Thismetadata is transmitted to a network data center where it is stored inassociation with a first user terminal identifier. Based on themetadata, the data center may generate a listing of personal channels(e.g., an online catalog or interactive program guide) available overthe network. A second user at a second user terminal may access thecatalog, search the catalog, and select the first user's personalchannel. In response to the selection, the network data center transmitsthe first user terminal identifier associated with the selected personalchannel to the second user terminal. Based on the terminal identifier,the second user terminal requests access to the selected personalchannel from the first user terminal. In response to the request, thefirst user terminal provides the media content associated with thepersonal channel to the second user terminal over the network.

FIG. 1 provides a block diagram exemplifying system environment 100consistent with a preferred embodiment of the present invention. Systemenvironment 100 may include first user terminal 110, second userterminal 130, data center 150 and network 170.

User terminals 110 and 130 may include components consistent withcomputing or display systems such as processors, memory and input/outputdevices that enable a user to create, store, and present personalchannels, as well as other aspects consistent with the presentinvention. User terminals 110 and 130 may be implemented using one ormore generic computer systems including, for example, personal computer,minicomputer, microprocessor, workstation or similar computer platformstypically employed in the art. Alternatively, user terminals 110 and 130may encompass or be embedded within a specialized computing systemincluding, for example, a set-top box, video telephone, video gameconsole, portable telephone, personal digital assistant, or portablegame device. User terminals 110 and 130 may be located in a user's home,at a business, in a public kiosk or in a portable device. Furthermore,user terminals 110 and 130 may be a owned by a user or may be providedto the user by a communications service provider, for example, inconjunction with television broadcast service, telephone service,broadband data service (e.g., Internet), or other communicationsservices.

Consistent with aspects of this invention, data center 150 executescomputer instructions for brokering the exchange of media contentbetween user terminals 110 and 130 over network 170. Further, datacenter 150 may store personal channel metadata and, in some embodiments,personal channel media content. Data center 150 may be one or morecomputer systems including, for example, personal computer,minicomputer, microprocessor, workstation or similar computer platformstypically employed in the art. Data center 150 may include, among othercomponents, processors, memory, and input/output devices that enabledata center 150 to facilitate the preferred methods described herein.

Network 170 may be one or more communication networks that communicateinformation between user terminals 110 and 130, and data center 150.Network 170 may be any type of network for communicating information,including data, text, pictures, voice and video. In some instances,communications network 170 may possess sufficient bandwidth to transmitreal-time video between user terminals 110 and 130 and/or data center150. Network 170 may be a shared, public, private, or peer-to-peernetwork encompassing a wide or local area including an extranet, anIntranet, the Internet, a Local Area Network (LAN), Wide Area Network(WAN), public switched telephone network (PSTN), Integrated ServicesDigital Network (ISDN), radio links, cable television network, satellitetelevision network, terrestrial wireless network, and any other form ofwired or wireless communication networks.

Network 170 may be compatible with any type of communication protocolused by the components of system environment 100 to exchangeinformation, such as Ethernet, ATM, Transmission Control/InternetProtocol (TCP/IP), Hypertext Transfer Protocol (HTTP), HypertextTransfer Protocol Secure (HTTPS), Real-time Transport Protocol (RTP),Real Time Streaming Protocol (RTSP), Global System for MobileCommunication (GSM) and Code Division Multiple Access (CDMA) wirelessformats, Wireless Application Protocol (WAP), high bandwidth wirelessprotocols (e.g., EV-DO, WCDMA) or peer-to-peer protocols. Theprovider(s) of network 170 may be, for instance, an Internet ServiceProvider (ISP), a landline telephone carrier, a cell phone systemprovider, a cable television provider, a satellite television provider,an operator of a WAN, an operator of LAN, or an operator ofpoint-to-point network.

The preferred embodiments described herein may be implemented in variousenvironments. Such environments and related applications may bespecifically constructed for performing the various processes andoperations described herein, or they may include a general purposecomputer or computing platform selectively activated or configured byprogram instructions to provide the described functionality. Theprocesses disclosed herein are not inherently related to any particularcomputer or other apparatus, and may be implemented by a suitablecombination of hardware, software, and/or firmware. For example, variousgeneral purpose data processing machines may be used with programswritten to implement portions of the preferred embodiments describedherein; or it may be more effective, convenient and/or cost-effective toconstruct a specialized apparatus or system to perform the describedmethods or techniques.

The preferred embodiments described herein may be further implemented inprocessor-readable media that include program instructions and/or dataconfigured to perform the various methods described herein. The programinstructions may be those specially designed and constructed, or theymay be of the kind well-known and available to artisans in the field ofcomputer software. Examples of program instructions include, forexample, machine code such as produced by a compiler, files containinghigh-level code executable by a computer via an interpreter, or levelsof abstraction there-between.

FIG. 1 further illustrates the flow of information between userterminals 110 and 130, and data center 150 over network 170. Aftercreating a personal channel, first user terminal 110 transmitsinformation associated with the personal channel (e.g., metadata) overnetwork 170 to data center 150. Subsequently, when second user terminal130 selects the first user's personal channel from data center's 150catalog of personal channels, data center 150 transmits a first usernetwork terminal identifier to the second user terminal 130. Based onthe identifier, second user terminal 130 contacts first user terminalover network 170 and requests transmission of the personal channel. Inresponse, first user terminal 110 establishes a communication link tosecond user terminal 130 and proceeds to transmit the media contentassociated with the selected personal channel directly to second userterminal 130. Alternatively, second user terminal 130 may accessespersonal channels at first user terminal 110 directly based on theidentifier of first user terminal 110. In other alternatives, seconduser terminal 130 may access personal channels stored at data center150.

As illustrated in FIG. 1, system environment 100 includes two userterminals 110 and 130, a single data center 150, and network 170.However, as is readily apparent to an artisan, practical embodiments mayinclude a plurality of user terminals and/or data centers linked overmultiple networks by a plurality of network exchange points sharing databetween the networks.

FIG. 2 provides a block diagram showing aspects of an exemplary userterminal 200 including components for creating a personal channel,providing the personal channel to other user terminals, and certainother components. User terminal 200 may include controller 210 andinput/output devices 250. Controller 210 may be one or more processingdevices that execute computer instructions stored in one or more memorydevices to provide functions consistent with certain aspects of thepreferred embodiments described herein. Controller 210 may include, forexample, central processing unit (CPU) 215, memory 216, networkinterface 218, video interface 220, audio interface 222, communicationsinterface 224 and data storage device 230.

CPU 215 provides control and processing functions for user terminal 200by processing instructions and data stored in memory 216. CPU 215 may beany conventional controller such as off-the-shelf microprocessor (e.g.,INTEL PENTIUM), or an application-specific integrated circuitspecifically adapted for network terminal 200. CPU 215 may also include,for example, coprocessors, memory, registers and/or other processingdevices as appropriate.

Memory 216 may be one or more memory devices that store data, operatingsystem and application instructions that, when executed by CPU 215,perform the processes described herein. Memory 216 may includesemiconductor and magnetic memories such as random access memory (RAM),read-only memory (ROM), electronically erasable programmable ROM(EEPROM), flash memory, optical disks, magnetic disks, etc. When userterminal 110 executes an application installed in data storage device230, CPU 215 may download at least a portion of instructions from datastorage device 230 into memory 216.

Network interface 218 may be one or more hardware and/or softwarecomponents configured to send and receive information between CPU 215and network 170. Network interface 218 may receive and transmitcommunications for user terminal 200. For example, network interface 218may be a modem, or a local area network (“LAN”) port. Network interface218 may support any telecommunications or data network including; forexample, Ethernet, WiFi, token ring, ATM, ISDN. Alternatively, networkinterface 218 may be an external network interface connected to CPU 215though communications interface 224.

Video interface 220 may be any device for enabling information exchangebetween CPU 215 and video devices 252 and/or 254. For instance, videointerface 220 may include an analog-to-digital converter for convertinganalog video signals produced by video device 254 into digital data.Similarly, video interface 220 may include a digital-to-analog converterfor converting digital video data from CPU 215 into analog video signalsfor video output device 252. Furthermore, video interface 220 mayinclude a CODEC for compressing and/or decompressing the video data.Although the video interface is described as a hardware device, it mayalso be implemented completely in software, or in a combination ofhardware and software.

Audio interface 222 may be any device for enabling information exchangebetween CPU 215 and audio devices 256 and/or 258. For instance, audiointerface 222 may include an analog-to-digital converter for convertinganalog audio signals produced by audio input device 258 into digitaldata. Similarly, audio interface 222 may include a digital-to-analogconverter for converting digital audio data into analog audio signalsfor audio output device 256. Furthermore, audio interface 222 mayinclude an audio CODEC for compressing and/or decompressing the audiodata. Although audio interface 222 is described as a hardware device, itmay also be implemented completely in software, or a combination ofhardware and software.

Communications interface 224 provides one or more interfaces fortransmitting and/or receiving data into CPU 215 from external devices,including any of input/output devices 250. Communications interface 224may be, for example, a serial port (e.g., RS-232, RS-422, universalserial bus (USB), IEEE-1394), parallel port (e.g., IEEE 1284), orwireless port (e.g., infrared, ultraviolet, or radio-frequencytransceiver). In some embodiments, audio, video and/or network data maybe exchanged with CPU 215 through communications interface 224.

Input/output devices 250 include video output 252, video input 254,audio output 256, audio input 258 and user input 260. Video output 252may be any device for displaying visual information such as a cathoderay tube (CRT), liquid crystal display (LCD), light emitting diodedisplay (LED), plasma display, or electroluminescent display. Videoinput device 254 may be an analog or digital camera, camcorder, or otherimage-capture device. Audio output device 256 may be a speaker,headphone, earpiece, or other audio transducer that converts electricalsignals into audible tones. Audio input 258 device may be a microphoneor other audio transducer that converts audible sounds into electricalsignals and may be a stand-alone device or incorporated in other devicessuch as a telephone handset. Signals from input/output devices may alsobe exchanged with CPU 215 through communications interface 224. Userinput device 260 may be any conventional device for communicating user'scommands to network terminal 200 including, for example, keyboard,keypad, computer mouse, touch screen, trackball, scroll wheel, joystick,television remote controller, or voice recognition controller.

Data storage device 230 includes computer-readable instructions and datafor user terminal 200 to provide and/or access personal channels overnetwork 170. Data storage device 230 may include, for example, programcode for a personal channel application 240, a personal channel datafile 232 and media content 234. In addition, data storage device 230 mayinclude other computer instructions, such as program code for Internetcommunications, operating system, kernel, device drivers, configurationinformation, such as a Dynamic Host Configuration Protocolconfiguration, a web browser, and any other software that may beinstalled on user terminal 200. For example, data storage device 230 maystore a user interface that may be accessible using input/output devices250 and allow users of the user terminal 200 to access the functionalityprovided therein. Where the user terminal 200 is implemented as aset-top box, the user interface may include such features as a programguide, channel selector, pay-per-view or video-on-demand selector, andan interface to control the various video recording and playback controloptions. In the preferred embodiments, such a user interface includes anaccess to the personal channels facilities described herein, thusallowing a user of user terminal 200 to select the personal channelfacility using, for example, the user input devices 260 available touser terminal 200.

The configuration or relationship of components 210-260 illustrated inFIG. 2 is exemplary. The components of user terminal 200 may beindependent components operatively connected, or they may be integratedinto one or more components including the functions of some or all ofcomponents 210-260. For example, input/output devices 250 may be aplurality of independent devices within separate housings detachablyconnected to a generic controller, such as a personal computer or homeentertainment system. In other implementations, controller 210 andinput/output devices 250 may be integrated within a single housing suchas a set-top box or portable telephone. One of ordinary skill in the artmay select different configurations of components based on therequirements of a particular implementation of a network terminal givingconsideration to factors including, but not limited to, cost, size,speed, form factor, capacity, portability, power consumption andreliability.

User terminal may include functionality directed towards othercapabilities. For example, user terminal 200 may be a set-top boxproviding broadcast video. In such a case, the user terminal may includecomponents such as a radio-frequency (RF) interface to receive andtransmit broadcast signals. The RF interface may be further connected toother known components for tuning and processing RF modulatedaudio/video signals, which may also be connected to the video interface220 and/or audio interface 222. Likewise, if the user terminal 200 is amobile telephone, the user terminal may include other components such asan RF interface to receive and transmit wireless communications signals,which may be further connected to other known components to process suchwireless communications signals, and which may be further connected tonetwork interface 218 to provide connectivity to network 170.

As further illustrated in FIG. 2, preferred user terminal 200 mayexecute software processes associated with providing personal channels,as further described below. CPU 215 may execute personal channelapplication 240 including management module 242, editing module 244,viewer module 246 and transmission module 248.

Management module 242 includes computer instructions executed by CPU 215for providing an interactive user interface for managing personalchannels (which may be accessible via the general user interfaceprovided by user terminal 200). Management module 242 may enable a userto create, view, store, edit and delete personal channels stored on userterminal 200. Further, management module 242 may enable the user tomanage a library of personal channels. Through the library, a user mayselectively view and/or edit personal channel metadata including, forinstance, name, subject, description, privacy setting, approved viewers,viewer age, creation time/date, media content, media content size, lastviewed time/date, number of viewings, average viewer rating. Further,the library may enable a user to organize channels into categories. Forinstance, the management module may allow the user to organize personalchannels into related categories according to any of the aforementionedmetadata.

Editing module 244 may include computer instructions executed by CPU 215for providing an interactive user interface for modifying media content.Editing module 244 may, for example, allow a user to cut, trim, paste,merge, add special effects, add text, sound and/or themes. In someimplementations, editing module 244 may be a third-party media-editingsoftware application such as, for example, IMOVIE by Apple Computer,Inc.

Viewer module 246 may include computer instructions executed by CPU 215for providing an interactive user interface for viewing media content.Viewer module 246 may provide controls for playing, recording,rewinding, reviewing, cueing, fast-forwarding, and/or pausing mediacontent. In some implementations, viewer module 246 may be a third-partymedia viewer application such as QUICKTIME by Apple Computer, Inc., orWINDOWS MEDIA PLAYER by Microsoft Corp.

Transmission module 248 may include computer instructions executed byCPU 215 for transmitting media content between user terminals 110 and130. In some implementations, transmission module 248 may transmitcontent in “real-time” such that the content is displayed at a receivinguser terminal at, or nearly at the same rate the content is aretransmitted with little or no perceptible delay by the receiving user(e.g., 30 frames per second or faster). For example, in response to arequest to view a personal channel from a second user terminal 130 overnetwork 170, personal channel application 240 executing in first userterminal 110 may cause transmission module 248 to initiate a videotransmission of media content in RTP protocol. In other implementations,the content may be “streamed” to second user terminal 130 in discrete,viewable portions and displayed by second user terminal 130 as it isreceived (with some local buffering to avoid network transmissionproblems). In still other implementations, the media content may bedownloaded as a single file that is received by second user terminal 130as a whole before being displayed. Moreover, transmission module 248,may adjust the format and/or quality of the requested content to suitthe capabilities or preferences of the second user terminal 130 (e.g.,mobile telephone, personal computer or television.)

The configuration or relationship of software modules 240-248illustrated in FIG. 2 is exemplary. Software modules 240-248 may beindependent modules operatively connected, or they may be combinedwithin a single module including the functions of some or all of themodules.

FIG. 3 provides a block diagram illustrating an exemplary personalchannel data file 232 and media content 234 stored on user terminal 200in storage device 230. As illustrated, personal channels data file 232may associate records (e.g., 001 and 002) with media content 234. Arecord may be associated with any type of media content 234 includingaudiovisual works, motion pictures, pictorial works, graphic works, orsound recordings. Media content 234 may be user-generated contentcaptured on a user input/output devices 250 and uploaded to a userterminal 200. For example, the content may be a home video captured by auser with a camcorder.

Personal channel data file 232 may include a plurality of personalchannel records associating a specified personal channel with aspecified content item. In the example of FIG. 3, channel record withthe identifier “001” has been specified as including the media item“AAA.” Although illustrated in FIG. 3 as a one-to-one mapping, apersonal channel may be associated with more than one piece of content,for example, by inclusion of multiple records identifying a matchingchannel identifier with different content items. Likewise, individualcontent items may be associated with more than one personal channelrecord by including a reference to the content item in multiple records.Although FIG. 3 shows the record for personal channel “001” referencingmedia content item “AAA” by name (e.g., a file/directory name), themedia content may be referenced by, for example, a memory address to thelocation of the of the audiovisual file in the storage device, a videoresource locator (VRL), a uniform resource locator (URL) or networkaddress identifying a location on network 170.

Personal channel data file 232 may include additional informationassociated with a personal channel including personal channel metadataand statistics. Metadata may include information such as the personalchannel name, description, subject, privacy category and viewer agerating. Statistics may include information such as creation time/date,content size, running time, last viewed time/date, number of viewingsand average viewer rating. Alternatively or concurrently, suchadditional information about personal channels created by the user maybe stored at data center 150, as further described below.

FIG. 4 provides a block diagram of an exemplary data center 150, whichmay be one or more processing devices that execute software modulesstored in one or more memory devices to broker the exchange of personalchannels between user terminals 110 and 130, and provide other functionsas described herein. Data center 150 may include controller 410, networkinterface 430, and data storage system 435.

Controller 410 may be one or more generic computer systems including,for example, a personal computer, minicomputer, microprocessor,workstation or similar computer platforms typically employed in the art.Controller 410 may be comprised of a CPU and memory for executing andstoring data and instructions as is well known. CPU may be anyconventional controller such as an off-the-shelf microprocessor (e.g.,INTEL PENTIUM), or an application-specific integrated circuitspecifically to adapted for data center 150. Memory may be one or morememory devices that store computer instructions and data that, whenexecuted by the CPU, perform the methods described herein. These memorydevices may include semiconductor and magnetic memories such as RAM,ROM, EEPROM, flash memory, optical disks, magnetic disks, etc. Networkinterface 430 may support any telecommunications or data networkincluding, for example, Ethernet, ATM, IP, WiFi, token ring, FiberDistributed Data Interface.

Data storage system 435 may be one or more memory devices to storecomputer instructions and data used by controller 410. Data storagesystem 435 may include: personal channel database 440, feedback database450 and user account database 460. Personal channel database 440includes records associating personal channel identifiers and metadatawith a channel identifier, allowing other users to access personalchannels over network 170. Additionally or alternatively, personalchannel database 440 may store media content for access over network170. For example, a user may lease data storage space at data center 150from the user's communications service provider in lieu of, or inaddition to storing media content at user terminal 110.

Feedback database 450 includes records associating a personal channelwith ratings submitted by users. For instance, as illustrated in FIG.5B, feedback database 450 may associate each personal channel with oneor more of a terminal identifier, a plurality of viewer ratings, a countof viewer ratings submitted and an average viewer rating. User accountdatabase 460 may contain a plurality of data records associating a userwith a terminal identifier, login name, password, personal information(e.g., address, phone number) and/or demographic information (e.g.,gender and age). Although FIG. 4 illustrates databases 440-460 as beingstored locally in data storage device 435, any of databases 440-460 mayinstead be located external to data center 150 and accessible throughnetwork 170.

As further illustrated in FIG. 4, controller 410 may execute softwareprocesses that support the implementation of the exemplary personalchannel systems and methods. In addition to operating systems and othersoftware applications typically employed in a network server, controller410 may execute a personal channel manager 415 including web servermodule 420, catalog module 422 and feedback module 424. Web servermodule 420 provides functionality for receiving traffic over network 170from user terminals 110 and 130. For example, web server module 420 maybe a standard Hypertext Transfer Protocol (HTTP) server that a user mayaccess using a web browser program, such as Microsoft's InternetExplorer. Catalog module 422 may include computer-executableinstructions for generating an interactive catalog of personal channelsavailable on network 170 based on personal channel metadata submitted byusers at user terminals 110 and/or 130 (and stored, for example, inpersonal channel database 440). Feedback module 424 may includecomputer-executable instructions for calculating personal channelratings submitted by user terminals 110 and/or 130 (and stored, forexample, in feedback database 450).

FIG. 5A provides a block diagram illustrating an exemplary personalchannel database 440 stored at data center 150 in data storage device435. Personal channel database 440 may include a plurality of recordsfor a plurality of personal channels stored at user terminals 110 and/or130. For instance, personal channel record 510 may associate a personalchannel with a channel identifier and personal channel metadata. Achannel identifier may be any means of identifying user terminal 110 and130 on network 170 including, for example, a network address, videoresource locator (VRL), a telephone number, a MAC or IP address, or aURL. Metadata may include a user name, personal channel name andidentifier, personal channel description, subject area, privacy categoryand viewer age rating. The user name may be, for instance, the author ofthe media content or the creator of the personal channel. The channelname may be the short title given to the personal channel by the userwho created the channel, and the channel identifier may be theidentifier assigned to the channel by the creating user's terminal. Thepersonal channel description may be the detailed description of thesubject matter of the personal channel. The personal channel subject maybe a general subject area (e.g., genre) associated with the content inthe personal channel, which may be useful in identifying/groupingpersonal channels of interest to other users, such as, movies, sports,comedy, drama, action, education, history, local interest, and the like.The privacy category may be level of public access given to the personalchannel. For instance, a channel may be available to the general publicor, alternatively, the access to the personal channel may be limited toa predetermined set of users or network terminals. Age rating is an agecategory of the viewer for which the personal channel may beappropriate. For example, similar to Motion Picture Association ofAmerica's movie ratings, the user who creates a personal channel maydesignate the subject matter as appropriate for children, teenagers, oradults. Privacy and age rating data may be used by data center 150 inconjunction with user data stored in user account database 460 to denyaccess to personal channels by users not meeting the parametersspecified in the privacy and/or age rating data. In addition, personalchannel record 510 may contain additional data including personalchannel statistics such as creation time/date, media content size,running time and last viewed time/date.

FIG. 5B provides a block diagram illustrating an exemplary feedbackdatabase 450. Feedback database 450 may include a plurality of recordsassociated with personal channels included in personal channel database440. Feedback record 520, for example, may include an associationbetween a personal channel and a rating submitted by users who haveviewed the personal channel. Records data 520 may include a channelidentifier, channel name, rating and number of reviews. The rating maybe, for example, an average rating calculated by controller 410 based ona plurality of ratings submitted by users who have viewed the associatedpersonal channel, or may be a rating by a single user who has viewed theassociated personal channel (in which case there may be multiple records520 associated with each personal channel, corresponding to ratings byindividual viewing users).

FIGS. 6A and 6B provide diagrams illustrating an exemplary personalchannel catalog 600 and an interactive programming guide 650. Based ondata from personal channel database 440 and feedback database 450, datacenter controller 410 (using the facilities of catalog module 422)generates personal channel catalog 600. Catalog 600 may be implementedusing, for example, hypertext markup language (HTML) or extensiblemarkup language (XML), and may be presented to user terminals 110 and130 over network 170 in an Internet browser or other user interfaceavailable at the user terminal.

As shown in FIG. 6A, personal channel catalog 600 may list personalchannels available at user terminals 110 and/or 130, based on aplurality of categories generated from personal channel database 440 andfeedback database 450, including subject, channel name, creating user'sname, channel description, viewer age rating, privacy level, length,viewer rating and number of viewer reviews. As typical, a user mayselectively sort personal channels listed in the catalog 600 based onany one of the displayed categories.

Catalog module 422 may allow users to perform additional operationswhich may be accessible via catalog 600. In the preferred catalog 600 ofFIG. 6A, display elements are provided that enable a user to select froma plurality of operations including, “search”, “rate”,“add-to-favorites,” “create folder” and “view channel”. If a userselects the “search” operation, the user may perform a keyword search ofthe personal channel database 440. This may be accomplished bysubmitting a search query to data center 150, which may generate acatalog 600 containing search results corresponding to the search query,or through a local filtering of the catalog 600 and redisplay of searchresults corresponding to the search query which are a subset of thecatalog 600. If a user selects the “rate” operation, a user may beprompted to submit a rating of a personal channel to data center 150which stores the feedback in database 450 in association with theselected personal channel. If a user selects “add to favorites”, theuser may add a selected personal channel to a “favorites” data recordassociated with the user in, for example, user account database 460. Ifa user selects the “view” operation, then personal channel module 420executes a process allowing the user to view the selected video storedon a user terminal 110 and/or 130, as further described below. Inaddition to the “favorites” folder, the recently viewed personalchannels of the user may automatically be stored in a “recently viewed”data record associated with the user in, for example, user accountdatabase 460, and may be accessible to the user via a “recently viewed”folder accessible via catalog 600. The user may also create foldershaving personalized themes such as, for instance, “family”, “birthdays”and “holidays” which may be accessible via catalog 600.

Additionally or concurrently, personal channels 232 may be displayed asa channel listing within an interactive programming guide 650 suppliedby a provider of broadcast or subscription television programming. Usingthe interactive programming guide 650, customers of the provider maybrowse and select personal channels alongside commercial and broadcasttelevision channels offered by the provider. For instance, as shown inFIG. 6B, “personal channel 001” and “personal channel 002” are listedtogether with common commercial broadcast channels (e.g., NBC, ABC, CBS,FOX and TNT). A user may, for instance, acquire rights from the providerinclude the user's personal channel(s) in the provider's programmingguide 650. In some cases, the rights may allow the user to control thecontent of an entire channel listed in the programming guide 650. Inother cases, the rights may allow several users to share a singlepersonal channel listing during different time periods. By offeringpersonal channels in interactive programming guide 650 together withcommercial programming, a user may expose the personal channel to aprovider's broad audience that may be otherwise inaccessible to theuser.

The interactive programming guide 650 may be a graphical user interfacegenerated by the provider and presented to customers through a terminal200 (e.g., a set-top box, remote control, and television). The providermay obtain the personal channel metadata 510 and/or 520 from the datacenter 150 for inclusion in the interactive programming guide 650. Thedata center 150 may, for example, simply send this metadata to theprovider or the provider may retrieve the metadata using arequest/response mechanism (free or fee-based) known to those skilled inthe art. The television provider may then format the personal channelmetadata 510 or 520 for presentation within the provider's interactiveprogramming guide 650 in a combined listing including broadcasttelevision program information. For example, as shown in FIG. 6B,programming guide 650 may present commercial/broadcast channels andpersonal channels in a table based on the time and date. Alternatively,the interactive program guide 650 may enable a customer to select from alisting of commercial/broadcast channels and personal channels availablefor transmission on-demand.

A customer of the provider may interact with the programming guide 650in the typical manner. By way of example, using a television remotecontrol to input selections to a set-top box, a customer may view apersonal channel by selecting the channel's listing from the programmingguide 650. The programming guide 650, may enable a customer to choosefrom other interactive functions, such as requesting channel details,recording channel content, and/or adding the a channel to a list of thecustomer's favorites. In addition, the interactive programming guide 650may enable a user to search for channels and/or content available fromthe provider, and include personal channels in a search result togetherwith commercial channels meeting the customer's search criteria.

Moreover, through the interactive programming guide 650, a customer mayreceive a notification that the customer has been invited to subscribeto another's personal channel. If the invitation is accepted, thepersonal channel may be included in the customer's interactiveprogramming guide 650. For instance, a user may create a privatepersonal channel accessible to a limited group of customers, such as theuser's family members. A customer included in the group may receive anindication through the programming guide 650 that he/she is invited tosubscribe to the personal channel and, by selecting “subscribe” throughthe interactive programming guide 650, that personal channel may beadded to the customer's channel listing.

FIG. 7 is a flowchart illustrating an exemplary process for providing apersonal channel. Initially, a user may navigate a user interface of theuser's terminal to locate and execute personal channel application 240(S715). For example, where user terminal 100 is a set-top box incombination with a television, the user may use a remote control tonavigate an on-screen program guide to select the personal channelapplication 240. Where user terminal 100 or 130 is a mobilephone/device, the user may use a keypad to navigate a menu system toselect the personal channel application 240. The application 240displays an interactive user interface which prompts the user to eitherselect an existing personal channel or to create a new personal channel(S720). If the user selects an existing personal channel, a new recordis established in personal channel data file 232 using the existingidentification information for the personal channel. If the user choosesto create a new personal channel, a new record is established using newidentification information associated with this new personal channel.

Next, personal channel application 240 may prompt the user to selectmedia content to associate with the personal channel (S725). The mediacontent may be stored on a separate user device (e.g., a video camera, apersonal computer), on user terminal 110, or even remotely stored onnetwork 170. In the event the media content item is stored on a separateuser device, the personal channel application 240 may prompt the user toconnect the separate user device to the user terminal through, forexample, communications interface 224 and, subsequently, transfers themedia content item from the user device to media content database 234 indata storage device 230 (S730). In the event the media content is storedon user's terminal 110 or in another location accessible via network170, the application 240 may prompt the user for the location of themedia content item, which may be specified in many well known ways(e.g., file/directory name, URL), and use the location information toretrieve (if necessary) that media content item and store such contenton user's terminal 110.

After media content is retrieved for the personal channel, personalchannel application 240 may provide the user the option to edit themedia content item through editing module 244 (S735). The user may, forexample, merge the media content item into other media content, trim themedia content item, remove artifacts or blemishes, add titles, music,voice-over special effects, transitions between different portions orother typical media content editing procedures.

Next, personal channel application 240 may prompt the user to enterpersonal channel metadata describing the personal channel (S745). Forinstance, where user's network terminal 110 is a set-top box, the usermay use the remote control to input information describing the personalchannel. Referring back to FIG. 5A, one example of such information fora personal channel related to graduation ceremony includes metadatainformation such as a channel name (e.g., “John's Graduation”),description (“Northern High School Graduation 2005”), privacy category(e.g., “none”) and viewer age rating (e.g., “Rated-G”). In the casewhere the user is adding a content item to an existing personal channel,the user may be given the opportunity to edit the metadata alreadyassociated with the personal channel.

When the user completes the process of creating/updating a personalchannel, the metadata is transmitted (S750) by the user's networkterminal 110 to data center 150 over network 170 where it is stored inpersonal channel database 440 in association with a channel identifierassociated with the user or the user's terminal (e.g., VRL, the user'stelephone number, the MAC or IP address of the user terminal).Alternatively, a user may also store personal channel media content atdata center 150 rather than storing the media content at user's terminal110.

FIG. 8 is a flowchart illustrating an exemplary process for viewingpersonal channels. In order to view a personal channel, a second user ata second user terminal 130 may use the user interface provided by seconduser terminal 130 to access the personal channels application providedtherein (S805). In the case of a set-top box, this may be accomplishedby navigating to a portion of an interactive program guide which allowsthe second user to invoke the personal channels application 240. In someembodiments, the program guide may provide a combined list of channelsincluding personal, commercial and broadcast channels. The second userterminal 130 may then access the data center 150 over network 170 toretrieve personal channel catalog 600 and display this to the user(S810). This may be accomplished, for example, by making an appropriaterequest to the HTTP server capabilities of data center 150 to providethe catalog 600 to the second user terminal 130, and by data center 150providing the catalog 600 to the second user terminal 130. The seconduser terminal may display the catalog 600 using its user interfacefunctionality. Optionally, depending on the identity of the second user(which may be determined based on the terminal identifier of the seconduser terminal 130 or through a commonly known log-in process), the datacenter 150 may limit the contents of the catalog to those personalchannels which the second user has sufficient rights to access, based onthe privacy category set for the personal channel in the associatedrecord in the personal channel database 440.

Through personal channel catalog 600, the second user may browse orsearch available personal channels (S815). For instance, where seconduser terminal 120 is a set-top box terminal, the second user may use theremote control device, to submit a search query, and the set-top box maythen interact with the data center 150 to obtain resulting catalog 600of search results corresponding to the search query.

From catalog 600, the second user may select a personal channel to viewat user terminal 130 (S820). For example, where the second user terminalis a set-top box, the second user may use the remote control device toselect one of the personal channel listings displayed in catalog 600.Upon receiving the second user's selection, the personal channelapplication 240 causes the second user terminal 130 to send a message tothe data center 150 requesting viewing of the selected personal channel.The message may include the channel name/identifier.

Data center 150 receives the message from the second user terminal 130,and determines if the second user may access the selected personalchannel (S822). In some instances, the second user may be denied accessto the personal channel if the second user's personal data in useraccount database 460 does not meet the predetermined privacy, age ratingor other parameters defined by the selected personal channel'sassociated metadata. If the second user is permitted to access theselected personal channel, data center 150 sends the second userterminal 130 an channel identifier of the selected personal channel, aswell as any other information that may be needed to access the personalchannel (S825). For example, certain security facilities may be used toensure the identities and authorization to access user terminals, suchas encryption, digital signatures, tokens and keys. This securityinformation may be provided to the second user terminal 130 if needed.

Based on the channel identifier, the second user terminal 130 contactsthe first user terminal 110 over network 170 and requests access to theselected personal channel (S830). In response, first user terminal 110may establish a communication link with the second user terminal 130(e.g., a streaming media session), and transmit any media content itemsassociated with the selected personal channel to second user terminal130 (S835). Second user terminal 130 receives the transmission (S840) ofmedia content, and may present it to the second user via theinput/output devices 250 associated with the second user terminal 130(S845). After viewing, second user may be given the opportunity totransmit feedback data to the data center 150 which may be stored infeedback database 450 (S850).

In an alternate implementation, second user may directly access apersonal channel at first user terminal 110 based on a known channelidentifier. In other words, a second user who knows the identifier of apersonal channel in advance may access the first user's personalchannels without obtaining the channel identifier or other informationfrom data center 150. In another implementation, the personal channelmedia content may be stored at data center 150. In such case, seconduser terminal 130 may access the personal channel directly from datacenter 150.

Any of the steps of the sequences illustrated in FIGS. 7 and 8 describedabove are subject to authentication by user identification, keywordand/or cryptographic key. For example, user verification and/orauthorization may be required before accessing network terminals 110 and130, accessing network 170, and/or video messaging controller 150.Furthermore, data stored in memory, storage devices and/or contained invideo messages may be encrypted.

Although FIG. 7 and FIG. 8 illustrate the embodiments of the presentapplication in a particular sequence, it will be readily apparent to anartisan that certain steps may occur in a different sequence orconcurrently. Furthermore, it will be will be apparent to an artisanthat certain steps may be divided into a plurality of steps, or combinedin to a single step. Finally, it will be apparent to an artisan theadditional steps may be inserted amongst the list steps of the exemplaryprocesses.

CONCLUSION

For purposes of explanation only, certain preferred embodiments of thepresent invention are described herein with reference to the componentsillustrated in FIGS. 1-8. The functionality of the illustratedcomponents may overlap, however, and may be present in a fewer orgreater number of elements and modules. Further, all or part of thefunctionality of the illustrated elements may co-exist or be distributedamong several geographically dispersed locations. Moreover, embodiments,features, aspects and principles of the present invention may beimplemented in various environments and are not limited to theillustrated environments. Also, the processes described herein are notinherently related to any particular apparatus and may be implemented byany suitable combination of components.

The foregoing description of possible implementations consistent withthe present invention (as recited in the appended claims) does notrepresent a comprehensive list of all such implementations or allvariations of the implementations described. The description of onlysome implementation should not be construed as an intent to excludeother implementations. Artisans will understand how to implement theinvention as recited in the appended claims in many other ways, usingequivalents and alternatives that do not depart from the scope of thefollowing claims. Moreover, unless indicated to the contrary in thepreceding description, none of the components described in theimplementations are essential to the invention.

What is claimed is:
 1. A method implemented by a first user terminalassociated with a first user, the method comprising: storing at leastone media content item at the first user terminal; storing informationfor a personal channel at the first user terminal, where the informationis associated with the at least one media content item; transmitting theinformation for the personal channel to a data center; receiving, from asecond user terminal associated with a second user, a request for accessto the personal channel, the request being transmitted by the seconduser terminal to the first user terminal, provided that the data centerdetermines that the second user terminal is permitted to access thepersonal channel; retrieving the at least one media content itemassociated with the personal channel; establishing a directcommunication link between the first user terminal associated with thefirst user and the second user terminal associated with the second user;and transmitting the at least one media content item associated with thepersonal channel from the first user terminal associated with the firstuser over the established direct communication link to the second userterminal associated with the second user.
 2. The method of claim 1,further comprising: creating the personal channel on the first userterminal, including: associating the at least one media content itemstored in the first user terminal with the personal channel; storingmetadata describing the personal channel; and providing the metadata tothe data center.
 3. The method of claim 2, wherein creating the personalchannel further includes enabling editing at the first user terminal toedit the at least one media content item.
 4. The method of claim 2,wherein associating the at least one media content item includesuploading the media content item from a user device.
 5. The method ofclaim 2, wherein the information for the personal channel defines anaudience for the personal channel based on a viewer age rating.
 6. Themethod of claim 1, wherein the first user terminal stores a plurality ofpersonal channels, and wherein each of the plurality of personalchannels is associated with a plurality of media content items.
 7. Themethod of claim 1, wherein transmitting the at least one media contentitem includes one of streaming the at least one media content item inreal-time to the second user terminal and transmitting the at least onemedia content item as a complete file to the second user terminal. 8.The method of claim 1, wherein the request for access to the personalchannel is based on a selection from a catalog, the catalog includingpersonal channel metadata identifying a subject, channel name, viewerrating, and number of viewer reviews for the personal channel.
 9. Themethod of claim 8, wherein the catalog is an interactive televisionprogramming guide listing personal channels together with broadcasttelevision channels.
 10. A non-transitory computer-readable mediumstorage device storing instructions executable by a first user terminalassociated with a first user comprising a processor, the instructionsconfigured to cause the processor to: store at least one media contentitem at the first user terminal; store information for a personalchannel at the first user terminal, where the information is associatedwith the at least one media content item; transmit the information forthe personal channel to a data center; receive, from a second userterminal associated with a second user, a request for access to thepersonal channel, the request being transmitted by the second userterminal to the first user terminal, provided that the data centerdetermines that the second user terminal is permitted to access thepersonal channel; retrieve the at least one media content itemassociated with the personal channel; establish a direct communicationlink between the first user terminal associated with the first user andthe second user terminal associated with the second user; and transmitthe at least one media content item associated with the personal channelfrom the first user terminal associated with the first user over theestablished direct communication link to the second user terminalassociated with the second user.
 11. A system, comprising: a networkcommunicatively coupled to a plurality of user terminals including afirst user terminal associated with a first user and a second userterminal associated with a second user; and a data center connected tothe network and accessible by the plurality of user terminals; whereinthe data center is configured to: receive from the first user terminal amessage including personal channel information associated with apersonal channel accessible at the first user terminal, the personalchannel being associated with at least one media content item, store thepersonal channel information in a data store including a first userterminal identifier, receive, from the second user terminal, a requestfor the personal channel information, determine whether the second userterminal is permitted to access the personal channel, based on thepersonal channel information received from the first user terminal, andprovide the personal channel information to the second user terminal inresponse to the request, when the second user terminal is permitted toaccess the personal channel, wherein the second user terminal transmitsa request to access the personal channel to the first user terminal, andin response, the first user terminal associated with the first userestablishes a direct communication link to the second user terminalassociated with the second user and transmits the at least one mediacontent item over the established direct communication link to thesecond user terminal associated with the second user.
 12. The system ofclaim 11, wherein the data center is further configured to: generate acatalog, the catalog including personal channel metadata identifying asubject, channel name, viewer rating, and number of viewer reviews forthe personal channel; and provide the catalog to the second userterminal.
 13. The system of claim 12, wherein the catalog is aninteractive television programming guide listing personal channelstogether with broadcast television channels.
 14. The system of claim 11,wherein the personal channel information defines an audience for thepersonal channel based on a viewer age rating.
 15. The system of claim11, wherein the data center is further configured to store informationassociated with a plurality of personal channels accessible from theplurality of user terminals.
 16. A method implemented by a data center,the method comprising: receiving over a network from a first userterminal associated with a first user a message including personalchannel information associated with a personal channel accessible at thefirst user terminal, the personal channel being associated with at leastone media content item; storing the personal channel information in adata store including a first user terminal identifier; receiving overthe network from a second user terminal associated with a second user arequest for the personal channel information; determining whether thesecond user terminal is permitted to access the personal channel, basedon the personal channel information received from the first userterminal; and providing the personal channel information to the seconduser terminal in response to the request, when the second user terminalis permitted to access the personal channel, wherein the second userterminal transmits a request to access the personal channel to the firstuser terminal, and in response, the first user terminal associated withthe first user establishes a direct communication link to the seconduser terminal associated with the second user and transmits the at leastone media content item over the established direct communication link tothe second user terminal associated with the second user.
 17. The methodof claim 16, further comprising: generating a catalog, the catalogincluding personal channel metadata identifying a subject, channel name,viewer rating, and number of viewer reviews for the personal channel;and providing the catalog to the second user terminal.
 18. The method ofclaim 17, wherein the catalog is an interactive television programmingguide listing personal channels together with broadcast televisionchannels.
 19. The method of claim 16, wherein the personal channelinformation defines an audience for the personal channel based on viewerage rating.
 20. A non-transitory computer-readable medium storage devicestoring instructions executable by a data center comprising a processor,the instructions configured to cause the processor to: receive over anetwork from a first user terminal associated with a first user amessage including personal channel information associated with apersonal channel accessible at the first user terminal, the personalchannel being associated with at least one media content item; store thepersonal channel information in a data store including a first userterminal identifier; receive over the network from a second userterminal associated with a second user a request for the personalchannel information; determine whether the second user terminal ispermitted to access the personal channel, based on the personal channelinformation received from the first user terminal; and provide thepersonal channel information to the second user terminal in response tothe request, when the second user terminal is permitted to access thepersonal channel, wherein the second user terminal transmits a requestto access the personal channel to the first user terminal, and inresponse, the first user terminal associated with the first userestablishes a direct communication link to the second user terminalassociated with the second user and transmits the at least one mediacontent item over the established direct communication link to thesecond user terminal.